
     /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright 2017 摩码创想, support@momathink.com
    *
   * This file is part of Jiaowu_v1.0.
   * Jiaowu_v1.0 is free software: you can redistribute it and/or modify
   * it under the terms of the GNU Lesser General Public License as published by
   * the Free Software Foundation, either version 3 of the License, or
   * (at your option) any later version.
   *
   * Jiaowu_v1.0 is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public License
   * along with Jiaowu_v1.0.  If not, see <http://www.gnu.org/licenses/>.
   *
   * 这个文件是Jiaowu_v1.0的一部分。
   * 您可以单独使用或分发这个文件，但请不要移除这个头部声明信息.
    * Jiaowu_v1.0是一个自由软件，您可以自由分发、修改其中的源代码或者重新发布它，
   * 新的任何修改后的重新发布版必须同样在遵守LGPL3或更后续的版本协议下发布.
   * 关于LGPL协议的细则请参考COPYING文件，
   * 您可以在Jiaowu_v1.0的相关目录中获得LGPL协议的副本，
   * 如果没有找到，请连接到 http://www.gnu.org/licenses/ 查看。
   *
   * - Author:摩码创想
   * - Contact: support@momathink.com
   * - License: GNU Lesser General Public License (GPL)
   */

package com.momathink.sys.operator.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.jfinal.plugin.activerecord.Record;
import com.momathink.common.annotation.controller.Controller;
import com.momathink.common.base.BaseController;
import com.momathink.common.tools.ToolOperatorSession;
import com.momathink.sys.operator.model.Operator;
import com.momathink.sys.operator.model.Role;
import com.momathink.sys.operator.model.Systems;
/**获取 菜单
 * */
@Controller(controllerKey="/operator/getHeadMessage")
public class HeadMessageController extends BaseController {
	
	public void index(){
		Record user = getAccount();
		
		List<Systems> sys = user.get("systemsList");
		if(sys == null){
			sys = Systems.dao.queryAll();//赋值
			try{
				List<Role> listr = ToolOperatorSession.getRole(user.getStr("roleids"));
				Map<String,String> map  = new HashMap<String,String>();
				for(Role r :listr){
					String[] opes = r.getStr("operatorids").split(",");
					for(String s : opes){
						map.put(s,s);
					}
				}
				List<String> roleids = new ArrayList<String>();
				for(String key:map.keySet()){
					String ke= key.substring(key.indexOf("_")+1,key.length());
					roleids.add(ke);
				}
				if(!sys.isEmpty()){
					for(Systems s:sys){
						boolean flag = false;
						List<Operator> listo = Operator.dao.queryBySystemsid(s.getInt("id"));
						for(String roleid :roleids){
							for(Operator op:listo){
								if(roleid.equals(op.getInt("id").toString())){
									flag=true;
									break;
								}
							}
						}
						s.put("flag",flag);
					}
				}
				//存储 , 因为顶部菜单 量很少,就直接放  SessionAttr 里面的  account_session 对象下的  systemsList了
				user.set("systemsList", sys);
			}catch(Exception e){
				e.printStackTrace();
			}
		}
		renderJson(sys);
	}
}
